package cc.rengu.igas.bomp.common.dao;

import cc.rengu.igas.bomp.common.entity.IndustryInfo;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

import java.util.List;

/**
 * 行业类别表操作接口类
 * Created by 王成 on 2020/3/10
 */
public interface IndustryInfoMapper {
    /**
     * 登记行业类别信息表
     *
     * @param industryInfo 行业类别信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertIndustryInfo(IndustryInfo industryInfo) throws Exception;

    /**
     * 更新行业类别信息表
     *
     * @param industryInfo 行业类别信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateIndustryInfoById(IndustryInfo industryInfo) throws Exception;

    /**
     * 根据非业务主键查询行业类别信息
     *
     * @param id 非业务主键
     * @return 行业类别信息
     * @throws Exception 异常
     */
    IndustryInfo selectIndustryInfoById(String id) throws Exception;

    /**
     * 根据行业类型查询行业类别信息
     *
     * @param industryType 行业类型
     * @return 行业类别信息
     * @throws Exception 异常
     */
    IndustryInfo selectIndustryInfoByIndustryType(String industryType) throws Exception;

    /**
     * 根据经营范围、行业编号、行业名称、行业描述查询行业类别信息
     *
     * @param managementScope 经营范围
     * @param industryCode    行业编号
     * @param industryName    行业类别名称
     * @param industryDesc    行业类别描述
     * @return 行业类别信息
     * @throws Exception 异常信息
     */
    List<IndustryInfo> selectIndustryInfoByKeys(String managementScope, String industryCode, String industryName, String industryDesc) throws Exception;


    /**
     * 根据经营范围、行业编号、行业名称、行业描述查询行业类别信息
     *
     * @param managementScope 经营范围
     * @param industryCode    行业编号
     * @param industryName    行业类别名称
     * @param industryDesc    行业类别描述
     * @return 行业类别信息
     * @throws Exception 异常信息
     */
    PageResult selectIndustryInfoPageByKeys(String managementScope, String industryCode, String industryName, String industryDesc, PageInfo pageInfo) throws Exception;
}
